// 当前登录类型：0-学生，1-教师
let currentLoginType = 0;

// 密码输入验证
$("#password").on("input", function() {
    if (this.value.length < 6 && this.value.length > 0) {
        this.setCustomValidity('密码至少需要6位');
    } else {
        this.setCustomValidity(''); // 清除错误提示
    }
});

// 切换登录类型
$("#studentLoginBtn").on("click", function() {
    currentLoginType = 0;
    $(this).addClass("active");
    $("#teacherLoginBtn").removeClass("active");
    $(".login-header p").text("学生登录");
});

$("#teacherLoginBtn").on("click", function() {
    currentLoginType = 1;
    $(this).addClass("active");
    $("#studentLoginBtn").removeClass("active");
    $(".login-header p").text("教师登录");
});

// 表单提交
$(".login-form").on("submit", function(e) {
    e.preventDefault();

    const username = $("#username").val().trim();
    const password = $("#password").val().trim();

    if (!username || !password) {
        alert("请输入用户名和密码");
        return;
    }

    if (password.length < 6) {
        alert("密码至少需要6位");
        return;
    }

    if (currentLoginType === 0) {
        // 学生登录
        studentLogin(username, password);
    } else {
        // 教师登录
        teacherLogin(username, password);
    }
});

// 学生登录函数
function studentLogin(username, password) {
    const student = {
        name: username,
        password: password
    };

    $.ajax({
        url: '/student/login',
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify(student),
        success: function(response) {
            if (response.code === "0000") {
                // 登录成功处理
                handleLoginSuccess(response.data, 0);
            } else {
                alert(response.msg || "登录失败，请检查用户名和密码");
            }
        },
        error: function(xhr) {
            alert('登录时发生错误: ' + (xhr.responseJSON?.msg || '请稍后重试'));
        }
    });
}

// 教师登录函数
function teacherLogin(username, password) {
    const teacher = {
        name: username,
        password: password
    };

    $.ajax({
        url: '/teacher/login',
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify(teacher),
        success: function(response) {
            if (response.code === "0000") {
                // 登录成功处理
                handleLoginSuccess(response.data, 1);
            } else {
                alert(response.msg || "登录失败，请检查用户名和密码");
            }
        },
        error: function(xhr) {
            alert('登录时发生错误: ' + (xhr.responseJSON?.msg || '请稍后重试'));
        }
    });
}

// 登录成功后的处理
function handleLoginSuccess(userData, userType) {
    // 存储用户信息
    const userInfo = {
        id: userData.id,
        name: userData.name,
        type: userType,
        // 根据类型存储额外信息
        ...(userType === 0 ? {
            sno: userData.sno,
            className: userData.className
        } : {
            workNo: userData.work_no
        })
    };

    sessionStorage.setItem('userInfo', JSON.stringify(userInfo));
    sessionStorage.setItem('isLogin', 'true');

    // 根据用户类型跳转到不同页面
    if (userType === 0) {
        // 学生首页
        location.href = "/LLMTchStd/studentview";
    } else {
        // 教师首页
        location.href = "/LLMTchStd/teacherview";
    }
}